package com.pro.db.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 * 栏目表
 * </p>
 *
 * @author wanglei
 * @since 2019-12-21
 */
public class GuopuCategory implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 栏目名称
     */
    private String name;

    /**
     * 栏目关键字，以JSON数组格式
     */
    private String keywords;

    /**
     * 栏目广告语介绍
     */
    private String description;

    /**
     * 父栏目ID
     */
    private Integer pid;

    /**
     * 内容类型(0标题，1富文本，2列表，3视频，4图片)
     */
    private Integer type;

    /**
     * 栏目图标
     */
    private String iconUrl;

    private String level;

    /**
     * 创建时间
     */
    private LocalDateTime addTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 逻辑删除
     */
    private Boolean deleted;

    /**
     * 是否推荐到首页（1是0否默认0）
     */
    private Boolean pushStatus;

    /**
     * 推荐到首页排序
     */
    private Integer pushSort;

    /**
     * 内容是否展示到首页
     */
    private Integer showHome;

    /**
     * 是否展示在APP上（0默认不展示，1展示）
     */
    private Integer showApp;

    @TableField(exist = false)
    private List<GuopuCategory> subList = new ArrayList<>();

    @TableField(exist = false)
    private List<GuopuBanner> bannerList = new ArrayList<>();

    @TableField(exist = false)
    private GuopuCategory fatherCategory;

    @TableField(exist = false)
    private List<GuopuCategoryRichtext> contentList = new ArrayList<>();


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getKeywords() {
        return keywords;
    }

    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Integer getPid() {
        return pid;
    }

    public void setPid(Integer pid) {
        this.pid = pid;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getIconUrl() {
        return iconUrl;
    }

    public void setIconUrl(String iconUrl) {
        this.iconUrl = iconUrl;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public LocalDateTime getAddTime() {
        return addTime;
    }

    public void setAddTime(LocalDateTime addTime) {
        this.addTime = addTime;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public Boolean getDeleted() {
        return deleted;
    }

    public void setDeleted(Boolean deleted) {
        this.deleted = deleted;
    }

    public Boolean getPushStatus() {
        return pushStatus;
    }

    public void setPushStatus(Boolean pushStatus) {
        this.pushStatus = pushStatus;
    }

    public Integer getPushSort() {
        return pushSort;
    }

    public void setPushSort(Integer pushSort) {
        this.pushSort = pushSort;
    }

    public List<GuopuCategory> getSubList() {
        return subList;
    }

    public void setSubList(List<GuopuCategory> subList) {
        this.subList = subList;
    }

    public List<GuopuBanner> getBannerList() {
        return bannerList;
    }

    public void setBannerList(List<GuopuBanner> bannerList) {
        this.bannerList = bannerList;
    }

    public Integer getShowHome() {
        return showHome;
    }

    public void setShowHome(Integer showHome) {
        this.showHome = showHome;
    }

    public Integer getShowApp() {
        return showApp;
    }

    public void setShowApp(Integer showApp) {
        this.showApp = showApp;
    }

    public GuopuCategory getFatherCategory() {
        return fatherCategory;
    }

    public void setFatherCategory(GuopuCategory fatherCategory) {
        this.fatherCategory = fatherCategory;
    }

    public List<GuopuCategoryRichtext> getContentList() {
        return contentList;
    }

    public void setContentList(List<GuopuCategoryRichtext> contentList) {
        this.contentList = contentList;
    }

    @Override
    public String toString() {
        return "GuopuCategory{" +
        "id=" + id +
        ", name=" + name +
        ", keywords=" + keywords +
        ", description=" + description +
        ", pid=" + pid +
        ", type=" + type +
        ", iconUrl=" + iconUrl +
        ", level=" + level +
        ", addTime=" + addTime +
        ", updateTime=" + updateTime +
        ", deleted=" + deleted +
        ", pushStatus=" + pushStatus +
        ", pushSort=" + pushSort +
        "}";
    }
}
